import request from '@/utils/request'

/** 积分变动记录对象 */
export type PointsChangeRecord = {
	/** 自增ID */
	id ?: number;
	/** 逻辑主键-记录编码 */
	recordCode ?: string;
	/** 用户ID */
	userId ?: number;
	/** 积分变动数量(正数为增加，负数为减少) */
	pointsChange ?: number;
	/** 变动前积分余额 */
	pointsBefore ?: number;
	/** 变动后积分余额 */
	pointsAfter ?: number;
	/** 变动来源类型 1-答题奖励 2-发帖奖励 3-帖子获赞 4-帖子被收藏 5-发评论奖励 6-评论获赞 7-商品兑换 8-系统调整 9-活动奖励 10-签到奖励 */
	changeSourceType ?: number;
	/** 批次编码 */
	batchCode ?: string;
	/** 创建人 */
	createdBy ?: string;
	/** 创建时间 */
	createdTime ?: string | Date;
	/** 更新人 */
	updatedBy ?: string;
	/** 更新时间 */
	updatedTime ?: string | Date;
	/** 删除标志 0-未删除 1-已删除 */
	deletedFlag ?: number;
}


// 获取积分变动记录详细信息
export const getPointsChangeRecordDetail = (id : number) => {
	return request({
		url: `/points/points/${id}`,
		method: 'GET'
	});
}

export type queryParams = {
	pageNum : number,
	pageSize : number
}

// 根据userId查询积分变动记录列表，type：1-全部记录 2-收入 3-支出
export const getUserPointsInfo = (userId : number, type : number, params ?: queryParams) => {
	return request({
		url: `/points/points/user/${userId}/${type}`,
		method: 'GET',
		params
	});
}

// 用户签到
export const userCheckIn = () => {
	return request({
		url: '/points/checkin/doCheckin',
		method: 'POST'
	});
}
